﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using IBatisNet.DataMapper;
using TumbaloSoft.Models;
using TumbaloSoft.Helpers.QueryObjects;

namespace TumbaloSoft.Helpers
{
    public class HelperVenta
    {
        public static int insert(TumbaloSoft.Models.Venta venta)
        {
            Mapper.Instance().Insert("VentaInsert", venta);
            return 0;
        }
        public static void update(TumbaloSoft.Models.Venta venta)
        {
            Mapper.Instance().Update("VentaUpdate", venta);
        }
    
        public static IList selectAll()
        {
            return Mapper.Instance().QueryForList("VentaSelectAll", null);       
        }
        public static int selectMaxCodigo()
        {
            return (int)Mapper.Instance().QueryForObject("VentaSelectMaxCodigo", null);
        }


        static public int SiguienteCodigo()
        {
            return (int)Mapper.Instance().QueryForObject("VentaSiguienteCodigo", null);
        }

	   static public String sacaTipoPersona(int prIdPersona)
	   {
		   return (String)Mapper.Instance().QueryForObject("SacaTipoPersona", prIdPersona);
	   }

	   static public String sacaNombrePersona(int prIdPersona)
	   {
		   return (String)Mapper.Instance().QueryForObject("SacaNombrePersona", prIdPersona);
	   }
       static public String sacaApellidoPaternoPersona(int prIdPersona)
       {
           return (String)Mapper.Instance().QueryForObject("SacaApellidoPaternoPersona", prIdPersona);
       }
	   static public String sacaRazonSocial(int prIdPersona)
	   {
		   return (String)Mapper.Instance().QueryForObject("SacaRazonSocial", prIdPersona);
	   }

       public static Venta selectById(int id)
       {
           IList ventas = Mapper.Instance().QueryForList("VentaSelectById", id);
          Venta venta = (Venta)(ventas[0]);
           return venta;
       }

	  public static Venta selectVentaComprobante(int prIdBoleta)
	  {
		  IList ventas = Mapper.Instance().QueryForList("SelectVentaComprobante", prIdBoleta);
		  Venta venta = (Venta)(ventas[0]);
		  return venta;
	  }
	 
	    public static IList buscar(BusquedaVenta VentaBuscar)
	  {
		  return Mapper.Instance().QueryForList("VentaBuscar", VentaBuscar);
	  }


      public static List<Venta> buscarVentas(BusquedaVenta query)
      {
          List<Venta> listaVentas = new List<Venta>(Mapper.Instance().QueryForList<Venta>("VentaBusqueda1", query));
          foreach (Venta venta in listaVentas)
          {
              Boleta boleta = HelperBoleta.selectById(venta.prBoleta.prIdBoleta);
              venta.prBoleta = boleta;
              
          }

          return listaVentas;
      }

      public static int selectCountActivos()
      {
          return (int)Mapper.Instance().QueryForObject("VentaSelectCountActivos", null);
      }



    }
}